//////////////////////////////////////////////////////////////////////////
#pragma once


//////////////////////////////////////////////////////////////////////////
#include "Config.hpp"


//////////////////////////////////////////////////////////////////////////
// Per compiler macro's.
#if defined( _MSC_VER ) && !defined( __MWERKS__ ) && !defined( __VECTOR_C ) && !defined( __ICL ) && !defined( __BORLANDC__ )

#	define BEGIN_ALIGNED( n, a )				__declspec( align( a ) ) n
#	define END_ALIGNED( n, a )

#elif defined( __GNUC__ )

#	define BEGIN_ALIGNED( n, a )				n
#	define END_ALIGNED( n, a )					__attribute__( (aligned( a ) ) )

#endif

//////////////////////////////////////////////////////////////////////////
// Generic macro's.
#define CONCAT_TOKEN_BASE( a, b )	a ## b
#define CONCAT_TOKEN( a, b )		CONCAT_TOKEN_BASE( a, b )
